/* 封装axios用于发送请求 */
import axios from 'axios'
import store from '@/store'

// 创建一个新的axios实例
const request = axios.create({
  baseURL: 'http://toutiao-app.itheima.net',
  // baseURL: 'http://192.168.74.38:8000',
  // baseURL: 'http://192.168.74.66:8000',
  // baseURL: 'http://192.168.74.74:8000',
  timeout: 5000
})

// 添加请求拦截器
request.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // console.log('请求被拦截了', config)
  // 如果有token，才会添加token，如果没有，不添加
  const token = store.state.user.token.token
  // console.log(1, store.state.user.token.token)
  if (token) {
    config.headers.Authorization = 'Bearer ' + token
  }
  // console.log(config)
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})

// 添加响应拦截器
request.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  return response.data
}, function (error) {
  // 对响应错误做点什么
  // 统一处理token失效的问题，，不直接跳转到登录页
  // 1.根据错误信息，判断是否是token失效导致的
  // 2.如果错误的状态码是401，说明是token导致的
  // 3.统一的跳转到登录页，删除失效的token，给一个提示信息
  // console.log(error)
  return Promise.reject(error)
})


export default request
